//---------------------------------------------------------------------------------
// Copyright (c) 2011, Microsoft Corporation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//---------------------------------------------------------------------------------
namespace Microsoft.ServiceBus.AccessControlExtensions
{
    public class AccessControlSettings
    {
        string accessControlManagementPath = "v2/mgmt/service/";
        string managementServiceIdentityName = "SBManagementClient";
        string accessControlServiceAddress = "accesscontrol.windows.net";
        
        public AccessControlSettings(string namespaceName, string managementKey)
        {
            this.ServiceNamespace = namespaceName + "-sb";
            this.AccessControlServiceAddress = ServiceBusEnvironment.DefaultIdentityHostName;
            this.ManagementServiceIdentityKey = managementKey;
        }

        public string AccessControlManagementPath
        {
            get { return this.accessControlManagementPath; }
            set { this.accessControlManagementPath = value; }
        }

        public string ManagementServiceIdentityName
        {
            get { return this.managementServiceIdentityName; }
            set { this.managementServiceIdentityName = value; }
        }

        public string ManagementServiceIdentityKey { get; set; }

        public string AccessControlServiceAddress
        {
            get { return this.accessControlServiceAddress; }
            set { this.accessControlServiceAddress = value; }
        }

        public string ServiceNamespace { get; set; }
    }
}
